The present application relates generally to an improved data processing apparatus and method and more specifically to mechanisms for open-addressing probing barrier.
A key-value store, or key-value database, is a data storage paradigm designed for storing, retrieving, and managing associative arrays, which a data structure is more commonly known as a dictionary or hash table. Dictionaries, hash tables, or the like, comprise a collection of objects, records, or the like, Which in turn have many different fields within them, each containing data. These records are stored and retrieved using a hash-based key that uniquely identifies the record and is used to quickly find the data within the data structure.
Key-value stores work in a very different fashion from the better known relational databases (RDB). RDBs pre-define the data structure in the database as a series of tables containing fields with well-defined data types. Exposing the data types to the database program allows it to apply a number of optimizations. In contrast, key-value stores treat the data as a single opaque collection which may have different fields for every record. This offers considerable flexibility and more closely follows modern concepts like object-oriented programming Because optional values are not represented by placeholders as in most RDBs, key-value stores often use far less memory to store the same database, which can lead to large performance gains in certain workloads.